﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using ajayumi.develop.win32.Transport.WCF.Services.DataContracts;
using System.ServiceModel;

namespace ajayumi.develop.win32.Transport.WCF.Services.Interfaces
{
    ///软件升级服务接口
    ///Author   : 黄乙冬
    ///Date     : 2011-9-1 08:59:15
    [ServiceContract]
    public interface IUpgrade
    {

        /// <summary>
        /// 检查客户端版本是否为最新版
        /// </summary>
        /// <param name="appName">应用程序名称</param>
        /// <param name="version">当前版本号</param>
        [OperationContract()]
        CheckUpgradeVerInfo CheckVersion(string appName, string version);

        ///// <summary>
        ///// 获取最新的版本号
        ///// </summary>
        ///// <param name="appName">应用程序名称</param>
        ///// <param name="version">当前版本号</param>
        ///// <returns></returns>
        //[OperationContract()]
        //string GetLatestVersion(string appName);

        ///// <summary>
        ///// 获取更新描述
        ///// </summary>
        ///// <param name="appName">应用程序名称</param>
        ///// <param name="version">当前版本号</param>
        ///// <returns></returns>
        //[OperationContract()]
        //string GetUpgradeDescription(string appName, string version);

        /// <summary>
        /// 获取指定版本的升级UpgradeInfo对象
        /// </summary>
        /// <param name="appName">应用程序名称</param>
        /// <param name="version">要获取的版本号</param>
        /// <returns></returns>
        [OperationContract()]
        UpgradeInfo GetUpgrade(string appName, string version);

        ///// <summary>
        ///// 获取差异升级的UpgradeInfo对象集合
        ///// </summary>
        ///// <param name="appName">应用程序名称</param>
        ///// <param name="version">当前版本号</param>
        ///// <returns></returns>
        //[OperationContract()]
        //UpgradeInfo[] GetUpgrades(string appName, string version);
    }
}
